import redis


class Config(object):
    # 项目配置信息类

    # 数据库的配置信息
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@192.168.5.128:3306/information'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # redis配置　　（非关系型数据库）
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

    SECRET_KEY = 'EjpNVSNQTyGi1VvWECj9TvC/+kq3oujee2kTfQUs8yCM6xX9Yjq52v54g+HVoknA'

    # session存储的配置信息
    SESSION_TYPE = 'redis'  # 指定session信息储存到redis中
    SESSION_USE_SIGNER = True  # 让cookie中的session_id被签名加密处理
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # 创建redis实例
    PERMANENT_SESSION_LIFETIME = 86400  # session的有效期,单位是秒


# 一个web项目在不同的阶段需要的开发环境不同,在开发阶段需要用到debug,生产阶段不需要,所以我们设置两个不同的类(均继承于Config类)来满足这个要求
class DevelopementConfig(Config):
    '''开发模式下的配置类'''
    DEBUG = True


class ProductionConfig(Config):
    '''生产模式下的配置类'''
    pass


# 定义配置选择字典
config_dict = {
    'developement': DevelopementConfig,
    'production': ProductionConfig
}
